﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using Csla;
using Csla.Data;

namespace BO
{

    [Serializable()]
    public partial class Billing : BusinessBaseEx
    {
        public Billing()
        {
            this.Clear();
        }


        #region primary field

        private static PropertyInfo<String> TransTypeProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("TransType", true));


        public String TransType
        {
            get { return GetProperty(TransTypeProperty); }
            set { SetProperty(TransTypeProperty, value); }
        }

        private static PropertyInfo<Int32> IDProperty = RegisterProperty(typeof(Billing), new PropertyInfo<Int32>("ID", true));


        public Int32 ID
        {
            get { return GetProperty(IDProperty); }
            set { SetProperty(IDProperty, value); }
        }

        private static PropertyInfo<String> OperatorProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("Operator", false));


        public String Operator
        {
            get { return GetProperty(OperatorProperty); }
            set { SetProperty(OperatorProperty, value); }
        }

        private static PropertyInfo<String> LastOpratorProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("LastOprator", false));


        public String LastOprator
        {
            get { return GetProperty(LastOpratorProperty); }
            set { SetProperty(LastOpratorProperty, value); }
        }

        private static PropertyInfo<String> CompanyNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("CompanyName", false));


        public String CompanyName
        {
            get { return GetProperty(CompanyNameProperty); }
            set { SetProperty(CompanyNameProperty, value); }
        }

        private static PropertyInfo<String> CenterNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("CenterName", false));


        public String CenterName
        {
            get { return GetProperty(CenterNameProperty); }
            set { SetProperty(CenterNameProperty, value); }
        }

        private static PropertyInfo<String> DepartmentNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("DepartmentName", false));


        public String DepartmentName
        {
            get { return GetProperty(DepartmentNameProperty); }
            set { SetProperty(DepartmentNameProperty, value); }
        }

        private static PropertyInfo<String> StaffNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("StaffName", false));


        public String StaffName
        {
            get { return GetProperty(StaffNameProperty); }
            set { SetProperty(StaffNameProperty, value); }
        }

        private static PropertyInfo<String> CustomerNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("CustomerName", false));


        public String CustomerName
        {
            get { return GetProperty(CustomerNameProperty); }
            set { SetProperty(CustomerNameProperty, value); }
        }

        private static PropertyInfo<String> ProductNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("ProductName", false));


        public String ProductName
        {
            get { return GetProperty(ProductNameProperty); }
            set { SetProperty(ProductNameProperty, value); }
        }

        private static PropertyInfo<String> ProductGroupNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("ProductGroupName", false));


        public String ProductGroupName
        {
            get { return GetProperty(ProductGroupNameProperty); }
            set { SetProperty(ProductGroupNameProperty, value); }
        }

        private static PropertyInfo<String> SalesTypeNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("SalesTypeName", false));


        public String SalesTypeName
        {
            get { return GetProperty(SalesTypeNameProperty); }
            set { SetProperty(SalesTypeNameProperty, value); }
        }

        private static PropertyInfo<String> RemarkProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("Remark", false));


        public String Remark
        {
            get { return GetProperty(RemarkProperty); }
            set { SetProperty(RemarkProperty, value); }
        }

        private static PropertyInfo<String> CRM_OrderNoProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("CRM_OrderNo", false));


        public String CRM_OrderNo
        {
            get { return GetProperty(CRM_OrderNoProperty); }
            set { SetProperty(CRM_OrderNoProperty, value); }
        }

        private static PropertyInfo<Boolean> IsNewCustomerProperty = RegisterProperty(typeof(Billing), new PropertyInfo<Boolean>("IsNewCustomer", false));


        public Boolean IsNewCustomer
        {
            get { return GetProperty(IsNewCustomerProperty); }
            set { SetProperty(IsNewCustomerProperty, value); }
        }

        private static PropertyInfo<Double> AmountProperty = RegisterProperty(typeof(Billing), new PropertyInfo<Double>("Amount", false));


        public Double Amount
        {
            get { return GetProperty(AmountProperty); }
            set { SetProperty(AmountProperty, value); }
        }

        private static PropertyInfo<DateTime> TransDateProperty = RegisterProperty(typeof(Billing), new PropertyInfo<DateTime>("TransDate", false));


        public DateTime TransDate
        {
            get { return GetProperty(TransDateProperty); }
            set { SetProperty(TransDateProperty, value); }
        }

        private static PropertyInfo<DateTime> LastModifyTimeProperty = RegisterProperty(typeof(Billing), new PropertyInfo<DateTime>("LastModifyTime", false));


        public DateTime LastModifyTime
        {
            get { return GetProperty(LastModifyTimeProperty); }
            set { SetProperty(LastModifyTimeProperty, value); }
        }

        private static PropertyInfo<DateTime> CreateTimeProperty = RegisterProperty(typeof(Billing), new PropertyInfo<DateTime>("CreateTime", false));


        public DateTime CreateTime
        {
            get { return GetProperty(CreateTimeProperty); }
            set { SetProperty(CreateTimeProperty, value); }
        }

        private static PropertyInfo<Boolean> IsConfirmProperty = RegisterProperty(typeof(Billing), new PropertyInfo<Boolean>("IsConfirm", false));


        public Boolean IsConfirm
        {
            get { return GetProperty(IsConfirmProperty); }
            set { SetProperty(IsConfirmProperty, value); }
        }

        private static PropertyInfo<Byte> IsAuditProperty = RegisterProperty(typeof(Billing), new PropertyInfo<Byte>("IsAudit", false));


        public Byte IsAudit
        {
            get { return GetProperty(IsAuditProperty); }
            set { SetProperty(IsAuditProperty, value); }
        }

        private static PropertyInfo<String> ContractNoProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("ContractNo", false));


        public String ContractNo
        {
            get { return GetProperty(ContractNoProperty); }
            set { SetProperty(ContractNoProperty, value); }
        }

        private static PropertyInfo<Boolean> HasDeletedProperty = RegisterProperty(typeof(Billing), new PropertyInfo<Boolean>("HasDeleted", false));


        public Boolean HasDeleted
        {
            get { return GetProperty(HasDeletedProperty); }
            set { SetProperty(HasDeletedProperty, value); }
        }

        private static PropertyInfo<Double> MenPiaoCountProperty = RegisterProperty(typeof(Billing), new PropertyInfo<Double>("MenPiaoCount", false));


        public Double MenPiaoCount
        {
            get { return GetProperty(MenPiaoCountProperty); }
            set { SetProperty(MenPiaoCountProperty, value); }
        }

        private static PropertyInfo<String> TeacherNameProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("TeacherName", false));


        public String TeacherName
        {
            get { return GetProperty(TeacherNameProperty); }
            set { SetProperty(TeacherNameProperty, value); }
        }

        private static PropertyInfo<String> ChannelProperty = RegisterProperty(typeof(Billing), new PropertyInfo<String>("Channel", false));


        public String Channel
        {
            get { return GetProperty(ChannelProperty); }
            set { SetProperty(ChannelProperty, value); }
        }
        #endregion

        public override string GetTableName()
        {
            return "Billing";
        }



    }
}